The TesSeRact CXL User Interface Development System Quick Reference Guide & Appendixes Version 5.51 -- October 1, 1990 Copyright 1990, Innovative Data Concepts All Rights Reserved Innovative Data Concepts 1657 The Fairways Suite 101 Jenkintown, PA 19046 Voice: 1-215-884-3373 Orders: 1-800-926-4551 FAX: 1-215-886-4225 TCXL is part of IDC's TesSeRact Development Tools series of programmer's products. This document; other accompanying written and disk-based notes and specifications; and all referenced and related program files accompanying this document are copyrighted by Innovative Data Concepts. For ordering information, see the ORDER.DOC file provided with this package. For shareware distribution requirements, see the VENDOR.DOC file. _______ ____|__ | (R) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| MEMBER The TesSeRact Development Tools are distributed as shareware -- this means that we encourage users, subject to restrictions described in the License Agreement, to share copies of this program with friends, associates and bulletin boards. You may not share the registered version of The TesSeRact Development Tools; however, you may request a free shareware disk by completing the form in VENDOR.DOC. If you make copies of The TesSeRact Development Tools, you must include all files in the original distribution files, as well as the documentation archive. You are not permitted to distribute The TesSeRact Development Tools without this documentation. Innovative Data Concepts is a member of the Association of Shareware Professionals. The ASP has established stringent standards for its members. ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a problem with an ASP member (other than technical support), ASP may be able to help. Please write to the ASP Ombudsman at P.O. Box 5786, Bellevue, WA 98006. Trademarks SWAPSK, SWAPSP, SWAPTN, SWAPMT, SWAPMM, SWAPSH, SWAPDT, SWAPNG and The SWAP Utilities are trademarks of Innovative Data Concepts. TesSeRact is a trademark of Innovative Data Concepts CompuServe is a registered trademark of CompuServe Incorporated. DESQview is a trademark of Quarterdeck Office Systems. Epson is a registered trademark of Seiko Epson Corporation. IBM is a registered trademark of International Business Machines. LIM and EMS are trademarks of Lotus, Intel, and Microsoft Corporations. Lotus is a registered trademark of Lotus Development Corporation. Microsoft is a registered trademark of Microsoft Corporation. Turbo C and Turbo C++ are registered trademarks of Borland International. UltraVision is a trademark of Personics, Inc. Zortech is a trademark of Zortech Inc. Page ii TesSeRact CXL V5.5 Quick Reference Guide Table of Contents Introductory Notes.............................................ii Quick Reference List of Functions...................................1 User Level Functions............................................1 Menu System.................................................1 Menu Item Manipulation..................................1 Menu Definition and Access..............................1 Entry System................................................2 Entry Form Manipulation.................................2 Entry Field Manipulation................................2 Internal Entry Routines.................................2 Help System.................................................3 Selection System............................................3 Middle Level Functions..........................................4 Window System...............................................4 Error Handling..........................................4 General Window Manipulation.............................4 Active Window Movement..................................5 Active Window Control...................................5 Active Border...........................................6 Active Shadow...........................................7 Active Cursor...........................................7 Active Window Formatted Output..........................7 Active Window Unformatted Output........................8 Display System..............................................8 Window Builders.........................................8 Video Control...........................................9 Video Output............................................9 Cursor Control.........................................10 Attribute Control......................................10 Video-Disk Routines....................................10 Input System...............................................11 Active Window Input....................................11 Default Video Input....................................11 Asynchronous Input.....................................12 Input With No Echo.....................................12 Strings System.............................................12 Hardware Level Functions.......................................14 Information Subsystem......................................14 Library Information....................................14 Utility Routines.......................................16 Memory Subsystem...........................................16 Expanded Memory Routines...............................16 Extended Memory Routines...............................17 Printer Subsystem..........................................18 OpSys Subsystem............................................19 Bottom Level Functions.........................................19 Video Access Subsystem.....................................19 Direct Hardware Access.................................19 Ultravision Support....................................20 Internal Hardware Calls................................20 Keyboard Access Subsystem..................................21 Mouse Access Subsystem.....................................22 Internal Level Functions.......................................23 Conversion Subsystem.......................................23 Format Control Subsystem...................................23 Near/Far Subsystem.........................................24 TesSeRact CXL V5.5 Quick Reference Guide Page iii Appendix A - Text Attributes.......................................25 Appendix B - Keycode Table.........................................26 Appendix C - Other System Equates..................................27 Menu System....................................................27 Entry System...................................................27 Window System..................................................28 Information Subsystem..........................................28 Video Access Subsystem.........................................29 Keyboard Access Subsystem......................................31 Mouse Access Subsystem.........................................31 Format Control Subsystem.......................................31 Appendix D - Window Output Escape Codes............................32 Appendix E - Format Control Characters.............................33 Appendix F - Movement and Editing Keys.............................35 Appendix G - Global Error Codes....................................36 Appendix H - Name Changes for CXL 5.2 Users........................37 Function Mapping Sorted by Header and New Name.................37 Function Mapping Sorted by New Name............................42 Function Mapping Sorted by Old Name............................46 Page iv TesSeRact CXL V5.5 Quick Reference Guide Quick Reference List of Functions User Level Functions Menu System Menu Item Manipulation IdfP ItmCur(NOARG); Current item pointer IntT CTYP ItmDis(TagT id); Disable item IntT CTYP ItmDsp(TagT id); Re-display item IntT CTYP ItmEna(TagT id); Enable item IntT CTYP ItmFun(VFvCP bf, VFvCP af); Assign "before" and "after" functions ChrP CTYP ItmGet(TagT id); Get item text IdfP CTYP ItmKey(KeyT kc); Find item by hot-key IdfP CTYP ItmLoc(TagT id); Find item IntT CTYP ItmNxt(TagT id); Goto item IntT CTYP ItmSet(TagT id, ChrP tp); Set item text IntT CTYP ItmTxt(IntT wr, IntT wc, IntT at, ChrP ps); Add text description Menu Definition and Access IntT CTYP MnuAct(NOARG); Define menu in active window IntT CTYP MnuBeg(IntT sr, IntT sc, IntT er, IntT ec, IntT bt, IntT ba, IntT wa, VfvCP fo); Define menu MdfP MnuCur(NOARG); Current menu pointer TesSeRact CXL V5.5 Quick Reference Guide Page 1 IntT CTYP MnuEnd(TagT ti, IntT mt, IntT bw, IntT tp, IntT ta, IntT sa, IntT na, IntT ba); End menu definition IntT CTYP MnuItm(IntT wr, IntT wc, ChrP ps, IntT sc, TagT id, IntT fm, VfvCP sf, WrdT hk, TagT he); Define menu item IntT MnuShow(NOARG); Display/process menu Entry System Entry Form Manipulation IntT CTYP EntDef(IntT fa, IntT ta); Define entry form IntT CTYP EntFld(IntT wr, IntT wc, ChrP ps, ChrP fs, IntT fm, TagT id, IntT md, IfcpCP vf, TagT ht); Define entry field IntT CTYP EntKey(WfipCP gk, WrdP tk); Set alternate getkey() and termination key IntT CTYP EntSep(ChrP ws); Set word-separator string IntT CTYP EntShow(NOARG); Display, process entry form Entry Field Manipulation FdfP FldCur(NOARG); Current active field IntT CTYP FldFun(VfvCP bf, VfvCP af); Assign "before" and "after" functions IntT CTYP FldKey(KeyT hk); Assign hot-key FdfP CTYP FldLoc(TagT id); Find entry field Internal Entry Routines VOID CTYP _FldDsp(ChrP s, IntT h); Display field VOID CTYP _FldDecL(ChrP s); Format left of decimal Page 2 TesSeRact CXL V5.5 Quick Reference Guide VOID CTYP _FldDecR(ChrP s); Format right of decimal Help System IntT CTYP HlpAdd(TagT ht); Push current, then set tag-id IntT CTYP HlpClr(NOARG); Clear help-stack IntT HlpCur(NOARG); Push current help tag-id IntT CTYP HlpDef(ChrP fn, WrdT ky, IntT wa, IntT ta, IntT sa, IntT ba, VfvCP fo); Define help hot-key, file, colors, open-function IntT CTYP HlpDrop(NOARG); Drop current category IntT CTYP HlpOff(NOARG); Undefine help IntT CTYP HlpPop(NOARG); Pop help stack IntT CTYP HlpPush(TagT ct); Push help tag-id IntT CTYP HlpSet(TagT ct); Set help category by tag-id VOID CTYP HlpShow(NOARG); Display help window IntT CTYP HlpWind(IntT sr, IntT sc, IntT er, IntT ec, IntT bt, IntT ti); Define help window Selection System IntT CTYP SelAttr(IntT sr, IntT sc, IntT bt, IntT ba, IntT ab, VfvCP fo); Select attribute ChrP CTYP SelFile(IntT sr, IntT sc, IntT er, IntT ec, IntT bt, IntT ba, IntT wa, IntT sa, IntT ti, ChrP fs, VfvCP fo); Select file IntT CTYP SelStr(IntT sr, IntT sc, IntT er, IntT ec, IntT bt, IntT ba, IntT wa, IntT sa, ChrP as[], IntT ie, VfvCP fo); Select string IntT CTYP SelTxt(IntT wr, IntT wc, IntT at, ChrP as[], IntT in); Select text (active window) TesSeRact CXL V5.5 Quick Reference Guide Page 3 IntT CTYP _Select(IntT sr, IntT sc, IntT er, IntT ec, IntT bt, IntT ba, IntT wa, IntT sa, ChrP as[], IntT ie, VfvCP fo); Internal selection engine Middle Level Functions Window System Error Handling IntT CTYP Wperror(ChrP mp); Display error window ChrP CTYP WerrMsg(NOARG); Get error-message text VOID CTYP Werror(NOARG); Exit with error-message General Window Manipulation IntT CTYP Wactiv(WndT wh); Activate window IntT CTYP WcloseAll(NOARG); Close all windows WndT CTYP Windowat(IntT sr, IntT sc); Handle of window at position WdfP CTYP WinLoc(WndT wh); Find window by handle IntT Wisactiv(WndT a); Test for active handle WndT CTYP Wopen(IntT sr, IntT sc, IntT er, IntT ec, IntT bt, IntT ba, IntT wa); Open window WndT CTYP WpopUp(IntT cf, IntT sr, IntT sc, IntT er, IntT ec, IntT bt, IntT ba, IntT wa); Open centered window VOID CTYP Wrestore(VcelP wb); Restore saved window VcelP CTYP Wsave(IntT sr, IntT sc, IntT er, IntT ec); Save window VOID WsetEsc(IntT a); Enable/Disable [Esc] key VOID WsetFil(Int a); Set fill char Page 4 TesSeRact CXL V5.5 Quick Reference Guide IntT CTYP WsetFun(VOID (CTYP *f)(WrdT, WrdT, IntT, IntT)); Set fill function VOID WsetTab(IntT a); Set tab-width IntT CTYP WsetTxt(IntT a); Set text attr IntT CTYP Wunhide(WndT wh); Unhide window IntT CTYP Wunlink(WndT wh); Unlink window IntT CTYP Wwprints(WndT wh, IntT wr, IntT wc, Put string to window Active Window Movement IntT CTYP Wcenter(IntT cf); Center window on screen IntT CTYP Wclose(NOARG); Close window WndT CTYP Wcopy(IntT nr, IntT nc); Copy window IntT CTYP Wdrag(IntT df); Drag window one row or col IntT CTYP Wdump(NOARG); Dump window to printer WndT CTYP Whandle(NOARG); Get active handle IntT CTYP Whide(NOARG); Hide window IntT CTYP Wmove(IntT sr, IntT sc); Move window IntT CTYP Wsize(IntT nr, IntT nc); Resize window IntT CTYP Wslide(IntT sr, IntT sc); Slide window Active Window Control IntT CTYP WchgAtr(IntT ba, IntT wa); Change window/border attr TesSeRact CXL V5.5 Quick Reference Guide Page 5 IntT CTYP WchkBox(IntT sr, IntT sc, IntT er, IntT ec); Check box coords IntT CTYP WchkCol(IntT wc); Check column IntT CTYP WchkPos(IntT wr, IntT wc); Check position IntT CTYP WchkRow(IntT wr); Check row IntT Wclear(NOARG); Clear window to default IntT CTYP WclrEol(NOARG); Clear cursor to EOL IntT WclrEos(NOARG); Clear to end of window IntT CTYP WclrWin(IntT at); Clear window IntT CTYP WfilBox(IntT sr, IntT sc, IntT er, IntT ec, IntT ch, IntT at); Fill region IntT CTYP WlinDel(IntT wr, IntT df); Delete line IntT CTYP WlinIns(IntT wr, IntT di); Insert line IntT CTYP WscrBox(IntT sr, IntT sc, IntT er, IntT ec, IntT n, IntT d); Scroll region IntT WscrWin(IntT n, IntT d); Scroll window Active Border IntT CTYP Wborder(IntT bt); Add border IntT CTYP Wbprintc(IntT bd, IntT of, IntT at, IntT ch); Put char/attr on border IntT CTYP WdrwBox(IntT sr, IntT sc, IntT er, IntT ec, IntT bt, IntT at); Draw internal box IntT CTYP WdrwHor(IntT sr, IntT sc, IntT nc, IntT bt, IntT at); Draw horizontal line IntT CTYP WdrwVer(IntT sr, IntT sc, IntT n, IntT bt, IntT at); Draw vertical line Page 6 TesSeRact CXL V5.5 Quick Reference Guide IntT CTYP Wmessage(ChrP ps, IntT bo, IntT lo, IntT at); Put message on border IntT CTYP Wtitle(ChrP ps, IntT tp, IntT ta); Put title on border Active Shadow IntT CTYP Wshadoff(NOARG); Remove shadow IntT CTYP Wshadow(IntT at); Add shadow Active Cursor VOID WcurGet(VposT rc); Get cursor position IntT WcurPut(VposT rc); Position cursor IntT CTYP Wgotoxy(IntT wr, IntT wc); Position cursor at row,col IntT CTYP Wpgotoxy(IntT wr, IntT wc); Provisional position VOID WposGet(IntT r, IntT c); Get cursor position as row,col Active Window Formatted Output VOID CTYP WdupChr(IntT ch, IntT nd); Put duplicated char VOID CTYP WdupStr(ChrP ps, IntT nd); Put duplicated string VOID CTYP Wputc(IntT ch); Put char VOID CTYP Wputs(ChrP ps); Put string VOID CTYP Wputns(ChrP ps, IntT wd); Put limited string VOID CTYP Wputsw(ChrP ps); Put string with word-wrap IntT CDC wputf(ChrP fs, ...); Put printf() string TesSeRact CXL V5.5 Quick Reference Guide Page 7 IntT CTYP WputFmt(ChrP fs, ChrP ps); TCXL format-string output IntT CTYP WputCen(ChrP ps); Put centered string IntT CTYP Wputrj(ChrP ps); Right-justify string IntT CTYP _Wputl(ChrP tp); String length skipping control chars Active Window Unformatted Output VOID CTYP WdupChrA(IntT wr, IntT wc, IntT at, IntT ch, IntT nd); Put duplicated char/attr VOID CTYP WdupStrA(IntT wr, IntT wc, IntT at, ChrP ps, IntT nd); Put duplicated string/attr IntT CTYP Wprtc(IntT wr, IntT wc, IntT at, IntT ch); Put char/attr IntT CTYP Wprts(IntT wr, IntT wc, IntT at, ChrP ps); Put string/attr VOID CTYP Wprtns(IntT wr, IntT wc, IntT at, ChrP ps, IntT wd); Put limited string/attr IntT CTYP Wprtsw(IntT wr, IntT wc, IntT at, ChrP ps); Put string/attr with word-wrap IntT CDC wprtf(IntT wr, IntT wc, IntT at, ChrP fs, ...); Put printf() string/attr IntT CTYP WprtFmt(IntT wr, IntT wc, IntT at, ChrP fs, ChrP ps); TCXL Format-string/attr output IntT CTYP WprtCen(IntT wr, IntT at, ChrP ps); Put centered string/attr IntT CTYP Wprtrj(IntT wr, IntT wc, IntT at, ChrP ps); Right-justify string/attr Display System Window Builders VOID VclrBox(VposT s, VposT e); Clear box on screen VOID VdrwBox(VposT s, VposT e, IntT b, IntT a); Draw box on screen Page 8 TesSeRact CXL V5.5 Quick Reference Guide VOID VfilBox(VposT s, VposT e, IntT c, IntT a); Fill box on screen VcelP CTYP Vsave(NOARG); Save screen to buffer VOID CTYP Vrestore(VcelP b); Restore screen from buffer Video Control VOID CTYP VidInit(NOARG); Initialize video IntT PAS VidMode(IntT m); Get/set display mode IntT CTYP VidParm(IntT p); Set video parameter VOID CTYP VidTerm(NOARG); Terminate video IntT CTYP VidType(NOARG); Get adapter type IntT CTYP VsetLin(IntT n); Set screen lines VOID CTYP Vclear(IntT a); Clear screen to attr VOID CTYP VclrEol(NOARG); Clear cursor to EOL VOID CTYP VclrScr(NOARG); Clear screen Video Output VOID CTYP Vprintc(IntT r, IntT c, IntT a, IntT x); Put char/attr at row,col VOID CTYP Vprints(IntT r, IntT c, IntT a, ChrP s); Put string/attr at row,col VOID PAS VputSpa(IntT n); Put spaces at cursor VOID CTYP Vputc(IntT r, IntT c, IntT x, IntT a); Put char/attr at row,col VOID Vputw(IntT r, IntT c, VcelT x); Put VcelT at row,col TesSeRact CXL V5.5 Quick Reference Guide Page 9 VOID Vscroll(IntT d, VposT s, VposT e, IntT n, IntT a); Scroll box on screen VOID Vgetw(IntT r, IntT c, VcelT x); Get VcelT at row,col Cursor Control VOID VcurGet(VposT v); get cursor position IntT CTYP VcurHid(IntT s); hide/show cursor, return state VOID VcurPut(VposT v); position cursor VOID CTYP VcurSet(IntT s); set large/small cursor VOID VcurSiz(VcseT c); size cursor VOID PAS Vgotoxy(IntT r, IntT c); position cursor at row,col VOID PAS VposGet(IntT r, IntT c); get cursor position as row,col Attribute Control IntT PAS VatrInv(IntT a); Invert attribute IntT CTYP VatrMap(IntT a); Map color attribute to mono VOID CTYP VatrRev(IntT n); Reverse attributes at cursor VOID CTYP VatrSet(IntT a, IntT n); Set attributes at cursor ChrP CTYP VatrTxt(IntT a); Return text description of attribute IntT Vattrib(IntT f, IntT b, IntT i, IntT h); Construct attribute Video-Disk Routines IntT VsavBox(VposT s, VposT e, ChrP f); Save box image to disk Page 10 TesSeRact CXL V5.5 Quick Reference Guide IntT CTYP VlodBox(ChrP f); Load box image from disk IntT CTYP VsavScr(ChrP f) Save screen image to disk IntT CTYP VlodScr(ChrP f); Load screen image from disk Input System Active Window Input IntT CTYP KwGetCf(ChrP v, IntT d); Get valid key IntT CTYP KwGetCh(NOARG); Get key IntT CTYP KwGetFmt(ChrP s, ChrP f); Get TCXL formatted string IntT CTYP KwGetSn(ChrP s, IntT m); Get limited string IntT CTYP KwGetSt(ChrP ps); Get string IntT CTYP KwGetYn(IntT cd); Get Y|N answer IntT CDC KwScanf(ChrP fs, ...); Get scanf() string (TC/TC++ only) Default Video Input IntT CTYP KvGetCf(ChrP v, IntT d); Get valid key IntT CTYP KvGetCh(NOARG); Get key IntT CTYP KvGetFmt(ChrP s, ChrP f); Get TCXL formatted string IntT CTYP KvGetSn(ChrP s, IntT m); Get limited string VOID CTYP KvGetSt(ChrP ps); Get string IntT CTYP KvGetYn(IntT cd); Get Y|N answer TesSeRact CXL V5.5 Quick Reference Guide Page 11 VOID CDC KvScanf(ChrP fs, ...); Get scanf() string (TC/TC++ only) Asynchronous Input KbndP CTYP KbndChg(KbndP l); Swap binding-stack pointers IntT CTYP KbndClr(KeyT k); Unbind key VOID CTYP KbndFre(NOARG); Free all stacked key-bindings VOID KbndIdle(VfvCP a); Assign idle-loop function IntT CTYP KbndSet(KeyT k, VfvCP f, KeyT r); Bind key to function & return keycode Input With No Echo VOID KeyClear(NOARG); Clear keyboard IntT CTYP KeyEvent(NOARG); Detect key/mouse event KeyT CTYP KeyGetc(NOARG); Get key/mouse event KeyT KeyPeek(NOARG); Peek at waiting keycode WrdT KeyStat(NOARG); Get keyboard status KeyT CTYP KeyTime(IntT t); Wait for key or time-out KeyT KeyWait(NOARG); Wait for key Strings System IntT CTYP strblank(ChrP s); Return non-zero if string is blank ChrP CTYP strbmatch(ChrP s, ChrP a[]); Find "best" matching string ChrP strbtrim(ChrP s); Trim string of leading blanks Page 12 TesSeRact CXL V5.5 Quick Reference Guide IntT CTYP strchg(ChrP s, IntT a, IntT b); Change all matching characters DwdT CTYP strchksum(ChrP s); Return string checksum ChrP CTYP strcode(ChrP s, ChrP k); Encode/decode string ChrP CTYP strdel(ChrP a, ChrP s); Delete substring ChrP CTYP strdela(ChrP a, ChrP s); Delete all occurences of substring IntT CTYP strichg(ChrP s, IntT a, IntT b); Change all matching case-independent characters DwdT CTYP strichksum(ChrP s); Return case-independent string checksum ChrP CTYP stridel(ChrP a, ChrP b); Delete case-independent substring ChrP CTYP stridela(ChrP a, ChrP b); Delete all occurences of case-independent substring ChrP CTYP striinc(ChrP a, ChrP s); Test for inclusion of case-independent substring ChrP CTYP strinc(ChrP a, ChrP s); Test for inclusion of substring ChrP CTYP strins(ChrP a, ChrP s, IntT p); Insert one string into another IntT CTYP striocc(ChrP s, IntT c); Count occurences of case-independent character ChrP CTYP strischg(ChrP s, ChrP a, ChrP b); Change all occurences of case-independent substring IntT CTYP strisocc(ChrP a, ChrP s); Count occurences of case-independent substring ChrP CTYP strisrep(ChrP s, ChrP a, ChrP b); Search for and replace case-independent substring ChrP strleft(ChrP s, IntT n); Copy left substring to new string ChrP CTYP strljust(ChrP s); Left justify string ChrP CTYP strltrim(ChrP s); Trim string of leading blanks TesSeRact CXL V5.5 Quick Reference Guide Page 13 IntT CTYP strmatch(ChrP a, ChrP b); Match strings ChrP CTYP strmid(ChrP s, IntT p, IntT n); Copy substring to new string IntT CTYP strocc(ChrP s, IntT c); Count occurences of character in string ChrP strright(ChrP s, IntT n); Copy right substring to new string ChrP CTYP strrjust(ChrP s); Right justify string ChrP CTYP strrol(ChrP s, IntT n); Rotate string left ChrP CTYP strror(ChrP s, IntT n); Rotate string right ChrP strrtrim(ChrP s); Trim string of trailing blanks ChrP CTYP strschg(ChrP s, ChrP a, ChrP b); Change all occurences of substring ChrP CTYP strsetsz(ChrP s, IntT n); Adjust string length ChrP CTYP strshl(ChrP s, IntT n); Shift string left ChrP CTYP strshr(ChrP s, IntT n); Shift string right IntT CTYP strsocc(ChrP a, ChrP s); Count occurences of substring ChrP CTYP strsrep(ChrP s, ChrP a, ChrP b); Search for and replace substring ChrP CTYP strtrim(ChrP s); Trim string of trailing blanks ChrP CTYP struplow(ChrP s); Convert string to initial-capitals Hardware Level Functions Information Subsystem Library Information VOID CTYP TcxlInit(NOARG); Initialize TCXL Page 14 TesSeRact CXL V5.5 Quick Reference Guide VOID CDC TcxlTerm(NOARG); Terminate TCXL WrdT TcxlVer(NOARG); Get TCXL version number Hardware Information VOID PAS _BioEqp(NOARG); Fill in _HdwCtl from BIOS equip flags (Internal) ChrP CTYP BiosVer(NOARG); Get ROM-BIOS version IntT CTYP ClockCal(NOARG); Detect XT clock/calendar board IntT CTYP MachId(NOARG) Get machine-id IntT HdwFlg(NOARG) Get hardware option flags IntT HdwGam(NOARG) Return TRUE if game-adapter present IntT HdwNdp(NOARG) Return TRUE if math coprocessor present IntT HdwMou(NOARG) Return TRUE if PS/2 mouse present IntT HdwMdm(NOARG) Return TRUE if PS/2 modem present IntT HdwC40(NOARG) Return TRUE if 40-col color video IntT HdwC80(NOARG) Return TRUE if 80-col color video IntT HdwM80(NOARG) Return TRUE if 80-col mono video IntT HdwDrv(NOARG) Get floppy-drive count IntT HdwPar(NOARG) Get parallel port count IntT HdwSer(NOARG) Get serial port count TesSeRact CXL V5.5 Quick Reference Guide Page 15 Utility Routines VOID Beep(NOARG); Sound your claxon ChrP CTYP RandFile(NOARG); Generate random filename VOID CTYP Sound(WrdT pv, WrdT dt); Make noise ChrP CTYP SysDate(IntT d); Format system date as a string ChrP CTYP SysTime(IntT t); Format system time as a string IntT PAS TabNxt(IntT c, IntT w); Calculate next tab-stop VOID PAS _Delay(WrdT d); Delay for clock-ticks VOID PAS _StdOut(ArgT ch); Display character on standard output VOID PAS _StdOutS(ChrP s); Display string on standard output DwdT PAS _Timer(NOARG); Get system timer VOID PAS _WaitMs(IntT ms) Wait (delay) for millisec Memory Subsystem VOID PAS MemInit(NOARG); Initialize subsystem VOID MemTerm(NOARG); Terminate subsystem Expanded Memory Routines _HdlT PAS EMSalloc(IntT np); Allocate EMS pages IntT PAS EMSfree(_HdlT eh); Free EMS handle's pages ChrFP PAS EMSgetnam(_HdlT eh, ChrFP np); Get EMS handle name Page 16 TesSeRact CXL V5.5 Quick Reference Guide IntT PAS EMScount(NOARG); Get EMS handle count IntT PAS EMSpages(_HdlT eh); Get EMS handle's page count IntT PAS EMSmap(_HdlT eh, IntT pp, IntT lp); Map physical to logical pages IntT PAS EMSquery(NOARG); Get free EMS page count IntT PAS EMSrest(_HdlT eh); Restore EMS handle's pages IntT PAS EMSsave(_HdlT eh); Save EMS handle's pages IntT PAS EMSsetnam(_HdlT eh, ChrFP np); Set EMS handle name IntT PAS EMSstat(NOARG); Get EMS status Extended Memory Routines _HdlT PAS XMSalloc(WrdT nk); Allocate Kb XMS block IntT PAS XMScopy(_XmsFP xp); Copy/move XMS block IntT PAS XMSfree(_HdlT xh); Free XMS block IntT PAS XMSavail(NOARG); Get available XMS in Kb IntT PAS XMSquery(_HdlT xh); Query XMS handle _AdrT PAS XMSlock(_HdlT xh); Lock XMS block IntT PAS XMSrealloc(_HdlT xh, WrdT ns); Reallocate XMS block IntT PAS XMSunlock(_HdlT xh); Unlock XMS block IntT PAS _A20_LD(NOARG); Local A20 disable IntT PAS _A20_LE(NOARG); Local A20 enable TesSeRact CXL V5.5 Quick Reference Guide Page 17 IntT PAS _A20chk(NOARG); Check A20 status IntT PAS _A20dis(NOARG); Global A20 disable IntT PAS _A20ena(NOARG); Global A20 enable IntT PAS UMBalloc(WrdT np, _SegFP ps); Allocate paragraph UMB IntT PAS UMBfree(_SegT ps); Free UMB IntT PAS HMAalloc(NOARG); Allocate HMA IntT PAS HMAfree(NOARG); Free HMA Printer Subsystem VOID PAS _LPputC(IntT ch); Put character to printer (Internal) VOID lcrlf(NOARG); Print newline (carriage-return/line-feed) VOID lprintc(IntT ch); Print character VOID CDC lprintf(ChrP fs, ...); Print formatted, printf()-style VOID CTYP lprintn(ChrP ps, IntT nc); Print characters VOID CTYP lprintns(ChrP ps, IntT nc); Print width-limited string VOID CTYP lprints(ChrP ps); Print string VOID CTYP lprintsb(ChrP ps, IntT nr); Print boldfaced string VOID CTYP lprintsu(ChrP ps); Print underlined string VOID CTYP scrndump(NOARG); Dump screen to printer VOID CTYP windump(IntT sr, IntT sc, IntT er, IntT ec); Dump window to printer Page 18 TesSeRact CXL V5.5 Quick Reference Guide OpSys Subsystem IntT PAS _ChgDir(ChrP p); Change directory IntT PAS _ChgDrv(IntT d); Change current drive IntT PAS _FndFst(ChrP p, FfbP f, IntT a); Find first matching file IntT PAS _FndNxt(FfbP f); Find next matching file VOID PAS _GetDir(IntT d, ChrP p); Get current directory IntT PAS _GetDrv(NOARG); Get current drive IntT PAS _InpByt(WrdT p); Input byte from port

WrdT PAS _InpWrd(WrdT p); Input word from port

VOID PAS _IntDis(NOARG); Disable interrupts VOID PAS _IntEna(NOARG); Enable interrupts VOID PAS _OutByt(WrdT p, IntT b); Output byte to port

VOID PAS _OutWrd(WrdT p, WrdT w); Output word to port

Bottom Level Functions Video Access Subsystem Direct Hardware Access WrdT VidOfs(IntT r, IntT c); Calculate screen offset WrdT PAS VgetDvb(WrdT v); Get DV shadow-buffer address (Internal) IntT PAS VisaEga(NOARG); Test for EGA video BIOS (Internal) TesSeRact CXL V5.5 Quick Reference Guide Page 19 IntT PAS VisaPs2(NOARG); Test for PS/2 video BIOS (Internal) VOID PAS VsetChr(WrdT f); Set EGA/VGA character set (Internal) Ultravision Support VOID PAS _VuvDis(NOARG); Disable Ultravision VOID PAS _VuvEna(NOARG); Enable Ultravision IntT PAS _VuvGet(NOARG); Get Ultravision mode VOID PAS _VuvSet(IntT md); Set Ultravision mode VOID PAS _VuvVal(IntT md); Validate Ultravision mode Internal Hardware Calls VOID _VgetN(VcelP p, VposT v, IntT n); Get VcelTs at position VOID _VgetS(BytP p, VposT v, IntT n); Get characters at position VOID _VgetW(VposT v, VcelT x); Get VcelT at position VOID _VgetX(VcelT x); Get VcelT at cursor via BIOS VOID _VputA(VposT v, IntT a, IntT n); Put attributes at position VOID _VputB(VposT v, IntT c, IntT a, IntT n); Put character/attribute pairs at position VOID _VputC(VposT v, IntT c, IntT n); Put characters at position VOID _VputN(VposT v, VcelP p, WrdT n); Put VcelTs at position VOID _VputS(VposT v, ChrP p, IntT a); Put string with attribute at position VOID _VputW(VposT v, VcelT c, IntT n); Put VcelT at position Page 20 TesSeRact CXL V5.5 Quick Reference Guide VOID _VputX(VcelT x); Put VcelT at cursor via BIOS Keyboard Access Subsystem IntT CTYP KscnCod(IntT c); Return scan-code for ASCII VOID KcapOff(NOARG); Toggle CapsLock OFF VOID KcapOn(NOARG); Toggle CapsLock ON VOID KextOff(NOARG); Disable extended BIOS support VOID KextOn(NOARG); Enable extended BIOS support VOID KinsOff(NOARG); Toggle Insert OFF VOID KinsOn(NOARG); Toggle Insert ON VOID KnumOff(NOARG); Toggle NumLock OFF VOID KnumOn(NOARG); Toggle NumLock ON IntT PAS _KeyExt(NOARG); Test for extended BIOS (Internal) KeyT PAS _KeyGet(NOARG); Get waiting keycode via BIOS IntT PAS _KeyHit(NOARG); Test for waiting keycode via BIOS VOID PAS _KeySet(IntT b, IntT s); Toggle keyboard state (Internal) WrdT PAS _KeySta(NOARG); Get keyboard status (Internal) IntT KqueChk(NOARG); Test for enqueued keycodes VOID PAS KqueClr(NOARG); Clear internal FIFO queue KeyT PAS KqueGet(NOARG); Get keycode at head of queue TesSeRact CXL V5.5 Quick Reference Guide Page 21 IntT PAS KquePut(KeyT k); Add keycode to tail of queue IntT CTYP KqueStr(ChrP s); Add string to tail of queue Mouse Access Subsystem VOID PAS MSclear(NOARG); Clear pending button counts VOID PAS MScurs(WrdT t, WrdT s, WrdT c); Set text-mode cursor mask VOID PAS MSgoto(IntT r, IntT c); Position cursor at row, column VOID PAS MShide(NOARG); Hide cursor VOID PAS MShome(NOARG); Home cursor, clear button counts IntT PAS MSinit(NOARG); Detect mouse and initialize VOID PAS MSkeys(KeyT l, KeyT r, KeyT m); Assign left, right, middle button keycodes VOID PAS MSlimit(IntT sr, IntT sc, IntT er, IntT ec); Set screen limits VOID PAS MSmove(NOARG); Get mouse motion IntT PAS MSpop(NOARG); Pop (restore) state and position VOID PAS MSpress(IntT b); Get press-count for button VOID PAS MSpush(IntT m); Push (preserve) state and position, set new state VOID PAS MSreles(IntT b); Get release-count for button VOID MSshow(VOID); Show hidden cursor VOID PAS MSspeed(IntT x, IntT y); Set speed in mickeys/pixel VOID PAS MSstat(NOARG); Get current position and button status Page 22 TesSeRact CXL V5.5 Quick Reference Guide VOID PAS MSterm(NOARG); Terminate mouse-support VOID PAS MSupdat(IntT sr, IntT sc, IntT er, IntT ec); Set conditional-update region VOID PAS _MSget(NOARG); Get current state (Internal) VOID PAS _MSpos(NOARG); Position cursor (Internal) VOID PAS _MSset(NOARG); Set current state (Internal) VOID PAS _MSsho(IntT s); Show cursor (Internal) Internal Level Functions Conversion Subsystem DblT CTYP cvtcf(ChrP fp); Convert TCXL input-string to floating-point IntT CTYP cvtci(ChrP fp); Convert TCXL input-string to integer VOID CTYP cvtfc(ChrP fp, DblT dv, IntT fw, IntT nd); Convert floating-point to TCXL input-string VOID CTYP cvtic(ChrP fp, IntT iv, IntT fs); Convert integer to TCXL input-string IntT CTYP touplow(ChrP s, ChrP p, IntT c); Convert character to inital-capitals Format Control Subsystem VOID CTYP FmtBack(ChrI f, ChrI o); Backspace format-string and output buffer IntT CTYP FmtChar(IntT c, IntT f); Validate character IntT CTYP FmtExcl(ChrI f, IntT c); Test character against exclusion set VOID CTYP FmtFlip(IntT c); Toggle format-string option IntT CTYP FmtIncl(ChrI f, IntT c); Test character against inclusion set TesSeRact CXL V5.5 Quick Reference Guide Page 23 IntT CTYP FmtInit(ChrP f, IntT u); Inititalize and verify format-string VOID FmtPutF(VfiCP f); Assign backspace function Near/Far Subsystem MK_FP(s,o) Make VOID far-pointer from segment, offset MK_FPT(t,s,o) Make typed far-pointer from segment, offset VOID PAS _FarCpy(WrdT st, WrdT ot, WrdT sf, WrdT of, WrdT n); Copy bytes at segment,offset to segment,offset VOID PAS _CpyFar(BytFP t, BytFP f, WrdT n); Copy bytes at far pointer to far pointer VOID PAS _FarGet(BytP p, WrdT s, WrdT o, WrdT n); Copy bytes at segment, offset to pointer VOID PAS _GetFar(BytP p, BytFP f, WrdT n); Copy bytes at far pointer to pointer VOID PAS _FarPut(WrdT s, WrdT o, BytP p, WrdT n); Copy bytes at pointer to segment, offset VOID PAS _PutFar(BytFP t, BytP p, WrdT n); Copy bytes at pointer to far pointer Commonly-Used Equates #define WctlAct (_WinCtl.wact) /* active window */ #define TcxlErr (_TcxlCtl.terr) /* global error code */ #define VidSeg (_VidCtl.vseg) /* video buffer segment */ #define VidPag (_VidCtl.vpag) /* video display page */ #define VidWid (_VidCtl.vwid) /* video columns wide */ #define VidDep (_VidCtl.vdep) /* video rows deep */ Page 24 TesSeRact CXL V5.5 Quick Reference Guide Appendix A - Text Attributes Foreground Colors Background Colors Identifier Value Color Identifier Value Color -------------------------- -------------------------- BLACK........0x00....Black _BLACK.......0x00....Black BLUE.........0x01....Blue _BLUE........0x10....Blue GREEN........0x02....Green _GREEN.......0x20....Green CYAN.........0x03....Cyan _CYAN........0x30....Cyan RED..........0x04....Red _RED.........0x40....Red MAGENTA......0x05....Magenta _MAGENTA.....0x50....Magenta BROWN........0x06....Brown _BROWN.......0x60....Brown LGREY........0x07....Light Grey _LGREY.......0x70....Light Grey DGREY........0x08....Dark Grey _DGREY.......0x80....Dark Grey LBLUE........0x09....Light Blue _LBLUE.......0x90....Light Blue LGREEN.......0x0A....Light Green _LGREEN......0xA0....Light Green LCYAN........0x0B....Light Cyan _LCYAN.......0xB0....Light Cyan LRED.........0x0C....Light Red _LRED........0xC0....Light Red LMAGENTA.....0x0D....Light Magenta -LMAGENTA....0xD0....Light Magenta YELLOW.......0x0E....Yellow _YELLOW......0xE0....Yellow WHITE........0x0F....White -WHITE.......0xF0....White INTENSE......0x08....Intensity Bit _BLINK.......0x80....Blink/Int Bit Monochrome Colors Identifier Value Description -------------------------------- MONO_N.......0x07....Normal MONO_I.......0x0F....Intense MONO_U.......0x01....Underline MONO_IU......0x09....Intense Underline MONO_R.......0x70....Reverse MONO_NB......0x87....Blink Normal MONO_IB......0x8F....Blink Intense MONO_UB......0x81....Blink Underline MONO_IUB.....0x89....Blink Intense Underline MONO_RB......0xF0....Blink Referse MONO_INT.....0x80....Blink Bit TesSeRact CXL V5.5 Quick Reference Guide Page 25 Appendix B - Keycode Table (Note: All Keycodes are Hex values) Also See TcxlCod.H for Keyboard Mapping Equates Key Norm Shift Ctrl Alt Key Norm Shift Ctrl Alt ---- ---- ----- ---- ---- ---- ---- ----- ---- ---- A.....1E61..1E41...1E01..1E00 F1.......3B00..5400...5E00..6800 B.....3062..3042...3002..3000 F2.......3C00..5500...5F00..6900 C.....2E63..2E42...2E03..2E00 F3.......3D00..5600...6000..6A00 D.....2064..2044...2004..2000 F4.......3E00..5700...6100..6B00 E.....1265..1245...1205..1200 F5.......3F00..5800...6200..6C00 F.....2166..2146...2106..2100 F6.......4000..5900...6300..6D00 G.....2267..2247...2207..2200 F7.......4100..5A00...6400..6E00 H.....2368..2348...2308..2300 F8.......4200..5B00...6500..6F00 I.....1769..1749...1709..1700 F9.......4300..5C00...6600..7000 J.....246A..244A...240A..2400 F10......4400..5D00...6700..7100 K.....256B..254B...250B..2500 Enter....1C0D..1C0D...1C0A..N/A L.....266C..264C...260C..2600 Ins......5200..5230...N/A...N/A M.....326D..324D...320D..3200 Del......5300..532E...N/A...N/A N.....316E..314E...310E..3100 Esc......011B..011B...011B..N/A O.....186F..184F...180F..1800 Home.....4700..4737...7700..N/A P.....1970..1950...1910..1900 End......4F00..4F31...7500..N/A Q.....1071..1051...1011..1000 PgUp.....4900..4939...8400..N/A R.....1372..1352...1312..1300 PgDn.....5100..5133...7600..N/A S.....1F73..1F53...1F13..1F00 ....0F09..0F00...N/A...N/A T.....1474..1454...1414..1400 .0E08..0E08...0E7F..N/A U.....1675..1655...1615..1600 ..4B00..4B34...7300..N/A V.....2F76..2F56...2F16..2F00 ..4D00..4D36...7400..N/A W.....1177..1157...1117..1100 ..4800..4838...N/A...N/A X.....2D78..2D58...2D18..2D00 ..5000..5032...N/A...N/A Y.....1579..1559...1519..1500 .N/A...4C35...N/A...N/A Z.....2C7A..2C5A...2C1A..2C00 .372A..N/A....7200..N/A 1.....0231..0221...N/A...7800 .4A2D..4A2D...N/A...N/A 2.....0332..0340...0300..7900 .4E2B..4E2B...N/A...N/A 3.....0433..0423...N/A...7A00 4.....0534..0524...N/A...7B00 5.....0635..0625...N/A...7C00 6.....0736..075E...071E..7D00 7.....0837..0826...N/A...7E00 8.....0938..092A...N/A...7F00 9.....0A39..0A28...N/A...8000 0.....0B30..0B29...N/A...8100 ,.....332C..333C...N/A...N/A ......342E..343E...N/A...N/A /.....352F..353F...N/A...N/A ;.....273B..273A...N/A...N/A '.....2827..2822...N/A...N/A [.....1A5B..1A7B...1A1B..N/A ].....1B5D..1B7D...1B1D..N/A `.....2960..297E...N/A...N/A -.....0C2D..0C5F...0C1F..8200 =.....0D3D..0D2B...N/A...8300 \.....2B5C..2B7C...2B1C..N/A Page 26 TesSeRact CXL V5.5 Quick Reference Guide Appendix C - Other System Equates Menu System /* Menu Feature Masks */ #define ITM_PUL 0x01 /* has pull-down menu attached */ #define ITM_NSL 0x02 /* not selectable */ #define ITM_AFT 0x04 /* close after select func */ #define ITM_ALL 0x08 /* close all when selected */ #define ITM_BEF 0x10 /* close before select func */ #define ITM_DSP 0x20 /* redisplay */ /* Menu Types */ #define MNU_HOR 0x01 /* horizontal menu */ #define MNU_VER 0x02 /* vertical menu */ #define MNU_OMN 0x07 /* omnidirectional menu */ #define MNU_PUL 0x08 /* pull-down menu */ #define MNU_NQS 0x10 /* disable quick selection */ #define MNU_SAV 0x20 /* save last bar position */ #define MNU_DSP 0x40 /* always display */ #define MNU_USE 0x80 /* use current window / Entry System /* Field Feature Bits */ #define FLD_NUL 0x0000 /* no special features defined */ #define FLD_LWR 0x0001 /* convert chars to lowercase */ #define FLD_UPR 0x0002 /* convert chars to uppercase */ #define FLD_MIX 0x0004 /* convert chars to mixed case */ #define FLD_PAS 0x0008 /* do not echo typed-in chars */ #define FLD_NUM 0x0010 /* treat field as numeric */ #define FLD_CUR 0x0020 /* currency field */ #define FLD_NWR 0x0040 /* no auto-wrap to next field */ #define FLD_LJS 0x0080 /* left justify */ #define FLD_RJS 0x0100 /* right justify */ #define FLD_TRM 0x0200 /* trim end spaces */ /* Field Movement */ #define FDF_MOV 0x0F /* movement */ #define FDF_BEG 0x01 /* to first field */ #define FDF_END 0x02 /* to last field */ #define FDF_UP 0x04 /* to previous field */ #define FDF_DWN 0x08 /* to next field */ /* Field Control */ #define FDF_MOD 0x70 /* update mode */ #define FDF_INI 0x10 /* initial */ #define FDF_CHG 0x20 /* change */ #define FDF_CND 0x40 /* conditional */ #define FDF_DSP 0x80 /* re-display */ TesSeRact CXL V5.5 Quick Reference Guide Page 27 /* Entry Control */ #define EDF_NUM 0x01 /* decimal format field */ #define EDF_CUR 0x02 /* currency field formatting */ #define EDF_INS 0x04 /* insert mode */ #define EDF_HIL 0x08 /* highlight field */ #define EDF_KEY 0x80 /* field hot-keys assigned */ Window System /* Border Sides */ #define BRD_TOP 0x00 /* Top Side */ #define BRD_BOT 0x01 /* Bottom Side */ #define BRD_LFT 0x02 /* Left Side */ #define BRD_RGT 0x03 /* Right Side */ /* Border Types */ #define BOX_SNG 0x00 /* all single */ #define BOX_DBL 0x01 /* all double */ #define BOX_VER 0x02 /* horiz single, vert double */ #define BOX_HOR 0x03 /* horiz double, vert single */ #define BOX_HVY 0x04 /* heavy lines */ #define BOX_SPA 0x05 /* spaces */ /* Centering Flags */ #define CNT_HOR 0x01 /* Center Horizontal */ #define CNT_VER 0x02 /* Center Vertical */ #define CNT_CNT 0x03 /* Center Both */ /* Direction Codes */ #define DIR_DWN 0x00 /* Down */ #define DIR_UP 0x01 /* Up */ #define DIR_LFT 0x02 /* Left */ #define DIR_RGT 0x03 /* Right */ /* Title Positions */ #define TTL_LFT 0x01 /* left justified */ #define TTL_CNT 0x02 /* centered */ #define TTL_RGT 0x03 /* right justified */ Information Subsystem /* Machine ID's returned by Machid() */ #define IBMPC 0xFF /* IBM PC */ #define IBMPCXT 0xFE /* IBM PC/XT, Portable, old DeskPro*/ #define IBMPCJR 0xFD /* IBM PCjr */ #define IBMPCAT 0xFC /* IBM PC/AT, XT/286, PS/2 50,60 */ #define IBMPCXT2 0xFB /* IBM PC/XT */ #define IBMPS30 0xFA /* IBM PS/2 model 30 */ #define IBMCONV 0xF9 /* IBM PC Convertible */ #define IBMPS80 0xF8 /* IBM PS/2 model 80 */ #define SPERRYPC 0x30 /* Sperry PC */ #define CPQPORT 0x2D /* old Compaq portable */ #define CPQPLUS 0x9A /* old Compaq plus */ #define HP110 0xB6 /* HP-110 portable */ Page 28 TesSeRact CXL V5.5 Quick Reference Guide /* Hardware option flag bits */ #define HDW_GAM 0x01 /* game-adapter */ #define HDW_NDP 0x02 /* math-coprocessor */ #define HDW_MOU 0x04 /* PS/2 mouse */ #define HDW_MDM 0x08 /* PS/2 modem */ #define HDW_C40 0x10 /* 40-col color */ #define HDW_C80 0x20 /* 80-col color */ #define HDW_M80 0x40 /* 80-col mono */ /* TcxlSys values */ #define SYS_DOS 0x0000 /* MS-DOS/PC-DOS/DR_DOS */ #define SYS_JDS 0x0001 /* Japan DOS */ #define SYS_OS2 0x0002 /* OS/2 */ #define SYS_XNX 0x0003 /* MS/SCO Xenix */ #define SYS_UNX 0x0004 /* AT&T Unix */ #define SYS_BSD 0x0005 /* BSD Unix */ #define SYS_AIX 0x0006 /* IBM AIX */ #define SYS_VMS 0x0007 /* DEC VMS */ /* TcxlEnv bits (DOS) */ #define ENV_MOU 0x0001 /* Mouse */ #define ENV_KEY 0x0002 /* Enhanced Keyboard */ #define ENV_UV 0x0004 /* Ultravision */ #define ENV_ESA 0x0010 /* EISA bus */ #define ENV_MCA 0x0020 /* MCA bus */ Video Access Subsystem #define V_NONE 0x00 /* adapter types returned */ #define V_MDA 0x01 /* ... by vidtype() */ #define V_EGAMONO 0x02 #define V_MCGAMONO 0x03 #define V_VGAMONO 0x04 #define V_HGC 0x05 #define V_HGCPLUS 0x06 #define V_INCOLOR 0x07 #define V_CGA 0x08 #define V_EGA 0x09 #define V_MCGA 0x0A #define V_VGA 0x0B /* video parameter settings */ #define VP_DMA 0x00 /* direct screen writes */ #define VP_CGA 0x01 /* direct screen writes, no snow */ #define VP_BIO 0x02 /* BIOS screen writes */ #define VP_MON 0x03 /* monochrome translate on */ #define VP_COL 0x04 /* monochrome translate off */ /* video-flag bits */ #define VF_MON 0x01 /* monochrome adapter */ #define VF_MAP 0x02 /* map to mono attributes */ #define VF_CGA 0x04 /* suppress CGA snow */ #define VF_BIO 0x08 /* use video BIOS */ #define VF_DQV 0x10 /* DesqView installed */ /* Ultravision Flags */ #define VU_RES 0x80 /* Ultravision is resident */ #define VU_ACT 0x40 /* Ultravision is active */ TesSeRact CXL V5.5 Quick Reference Guide Page 29 /* Ultravision Card Codes */ #define VU_GEC 0x00 /* Generic EGA w/ Color monitor */ #define VU_GEM 0x04 /* Generic EGA w/ Mono monitor */ #define VU_GVV 0x05 /* Generic VGA w/ VGA monitor */ #define VU_PVV 0x06 /* Paradise VGA w/VGA monitor */ #define VU_HVV 0x07 /* Super VGA w/VGA monitor */ #define VU_BEE 0x0A /* UV EGA Booster w/EGA monitor */ #define VU_NEE 0x0B /* NEC GB-1 w/EGA monitor */ #define VU_SEE 0x0C /* Genoa SuperEGA w/EGA monitor */ #define VU_AEE 0x0D /* Alt EGA Booster w/EGA monitor */ #define VU_AEM 0x0E /* Alt EGA Booster w/Mono monitor */ #define VU_GVA 0x19 /* Generic VGA w/Auto monitor */ #define VU_PVA 0x1A /* Paradise VGA w/Auto monitor */ #define VU_HVA 0x1B /* Super VGA w/Auto monitor */ #define VU_BEA 0x14 /* UV EGA Booster w/Auto monitor */ #define VU_NEA 0x15 /* NEC GB-1 w/Auto monitor */ #define VU_SEA 0x16 /* Genoa SuperEGA w/Auto monitor */ #define VU_AEA 0x17 /* Alt EGA Booster w/Auto monitor */ /* Ultravision Video Modes */ #define VU_A25 0x11 /* 80x25 */ #define VU_A43 0x12 /* 80x43 on EGA, 80x50 on VGA */ #define VU_A34 0x13 /* 80x34 on EGA, 80x36 on VGA */ #define VU_A60 0x14 /* 80x60 on EGA, 80x63 on VGA */ #define VU_B25 0x19 /* 94x25 */ #define VU_B43 0x1A /* 94x43 on EGA, 94x50 on VGA */ #define VU_B36 0x1B /* 94x36 */ #define VU_B63 0x1C /* 94x63 */ #define VU_C25 0x21 /* 108x25 */ #define VU_C43 0x22 /* 108x43 on EGA, 108x50 on VGA */ #define VU_C34 0x23 /* 108x34 on EGA, 108x36 on VGA */ #define VU_C60 0x24 /* 108x60 on EGA, 108x63 on VGA */ #define VU_D25 0x31 /* 120x25 */ #define VU_D43 0x32 /* 120x43 on EGA, 120x50 on VGA */ #define VU_D36 0x39 /* 120x36 */ #define VU_D63 0x3A /* 120x63 */ #define VU_E25 0x33 /* 132x25 */ #define VU_E44 0x34 /* 132x44, 132x50 on SuperVGA only */ #define VU_E36 0x3B /* 132x36 */ #define VU_E60 0x3C /* 132x60 */ Page 30 TesSeRact CXL V5.5 Quick Reference Guide Keyboard Access Subsystem #define KEY_RSH 0x01 /* [right shift] pressed */ #define KEY_LSH 0x02 /* [left shift] pressed */ #define KEY_CTL 0x04 /* [Ctrl] pressed */ #define KEY_ALT 0x08 /* [Alt] pressed */ #define KEY_SCR 0x10 /* [Scroll Lock] toggled */ #define KEY_NUM 0x20 /* [Num Lock] toggled */ #define KEY_CAP 0x40 /* [Caps Lock] toggled */ #define KEY_INS 0x80 /* [Ins] toggled */ #define KEY_EXT 0x80 /* KctlFlg extended functions */ #define KEY_MNU 0x01 /* KctlFlg currently in menu */ #define KEY_SYS 0x02 /* KctlFlg internal usage */ #define KEY_KBD 0x00 /* KctlSrc keyboard */ #define KEY_QUE 0x01 /* KctlSrc key-queue */ #define KEY_MOU 0x02 /* KctlSrc mouse */ #define KEY_MAX 128 /* size of key-queue */ #define KEY_BRK 0xFFFF /* Ctrl-Brk ret from _KeyGet */ Mouse Access Subsystem #define MOU_NONE 0x00 /* no mouse support */ #define MOU_KEYS 0x01 /* emulate arrow keys */ #define MOU_CURS 0x02 /* free-moving cursor */ #define MOU_FULL 0x03 /* full mouse support */ #define MOU_3BTN 0x40 /* 3-button mouse */ #define MOU_INIT 0x80 /* mouse initialized */ Format Control Subsystem /* Format Escapes */ #define FMT_CPY 0x01 /* 'C' copy to output */ #define FMT_ESC 0x02 /* 'E' [Esc] detect */ #define FMT_RTN 0x04 /* 'R' [CR] detect */ #define FMT_PAS 0x08 /* 'P' password */ #define FMT_LWR 0x10 /* 'L' lower case */ #define FMT_MIX 0x20 /* 'M' mixed case */ #define FMT_UPR 0x40 /* 'U' upper case */ #define FMT_CNV 0x70 /* 'L|M|U' convert */ #define FMT_END 0x80 /* end-of-format */ #define FMT_TRM 0x84 /* end | 'R' terminate */ #define FMT_INI 0x06 /* 'E|R' initial */ /* Format Usages */ #define FMT_GET 0x00 /* FmtGet() */ #define FMT_WIN 0x01 /* WFmtGet() */ #define FMT_ENT 0x02 /* EntFld() */ #define FMT_NUM 0x04 /* decimal field */ #define FMT_CUR 0x08 /* currency field */ TesSeRact CXL V5.5 Quick Reference Guide Page 31 Appendix D - Window Output Escape Codes Escape Code Function ------ -------- +........increase text attribute -........decrease text attribute Ax.......set text attribute to (x) Fx.......set foreground text attribute to (x) Bx.......set background text attribute to (x) I........toggle intensity L........toggle blink X........reverse text attribute Rx.......set window row coordinate to (x) Cx.......set window column coordinate to (x) Ex.......erase (x): W....entire window, home cursor L....to end-of-line S....to end-of-window Dxy......display (x) character (y) times Window output Escape codes are only available in the window TTY output string functions. Valid functions are the entire Wput..() series of functions, incuding Wputs(), Wputf(), etc. Also, the text inside help files can contain Escape codes (excluding cross-reference items). The Escape code parameters MUST be character (byte) size. Parameters should be input as binary. For example, 5 would be '\005'. If you are using them from inside a Wprintf() format string, you can use the '%c' format specifier to supply the parameter from the list of variables. Example: Wputf("\033A%cNormal \033IBright\033I \033LBlink\033L" " \033XReverse\033X\n",CYAN|_BLUE); Wputf("\033R%c\033C%cRow %d, Col %d\n",3,5,3,5); Wputs("\033DA\014 = 'A' 12 times\n"); Page 32 TesSeRact CXL V5.5 Quick Reference Guide Appendix E - Format Control Characters FCC Description --- ----------- #........Allows numeric characters '0' thru '9'. %........Allows numeric characters '0' thru '9' and ' '. 9........Allows numeric characters '0' thru '9', '.', '-', and '+'. This field is for floating-point numeric input. The decimal does NOT need to appear in the format string, as in previous versions. The decimal IS returned as part of the input buffer. $........Allows numeric characters '0' thru '9', '.', '-', and '+'. This field is for currency input. TCXL treats it as floating-point input ('9'), but the displayed field will show a '$'. This field format is valid only in an entry form, and uses the currency prefix/suf-fix/separator characters defined in _EntCtl. ?........Allows any character. *........Allows any printable character. A........Allows alpha characters 'A' thru 'Z', 'a' thru 'z', and ' '. D........Allows date characters '0' thru '9', '-', and '/'. F........Allows legal MS-DOS filename characters. H........Allows hexadecimal characters '0' thru '9', 'A' thru 'F', and 'a' thru 'f'. L........Allows alpha characters 'A' thru 'Z', 'a' thru 'z', and ' '. Input letters will be converted to lowercase. M........Allows alpha characters 'A' thru 'Z', 'a' thru 'z', and ' '. Input letters will be converted to mixed case P........Allows alpha characters 'A' thru 'Z', 'a' thru 'z', and ' '. Input letters will be displayed as spaces, which is useful for entering passwords. T........Allows telephone number characters '0' thru '9', '(', ')','- ', and ' '. U........Allows alpha characters 'A' thru 'Z', 'a' thru 'z', and ' '. Input letters will be converted to uppercase. W........Allows legal MS-DOS filename characters, including wildcards. X........Allows alphanumeric characters 'A' thru 'Z', 'a' thru 'z', '0' thru '9', and ' '. Y........Allows yes/no response characters 'Y', 'N', 'y', and 'n'. (space)..Space characters can be used throughout a format string to improve its readability. <........Start of inclusion set. An inclusion set allows you to specify the only allowable characters for a position. >........End of inclusion set. Any characters listed between the left and right angle brackets are part of the set. [........Start of exclusion set. An exclusion set allows you to specify characters that aren't allowed in that position. ]........End of exclusion set. Any characters listed between the left and right square brackets are part of the set. '........Start or end of quoted text that will be displayed either in the input field or as you are typing. All characters in between the start and end quotes will be displayed as text. "........Same as the single quote. Is useful if you need to actually display a single quote as text. Note that in C, you must represent the double quote as: \" TesSeRact CXL V5.5 Quick Reference Guide Page 33 !........Start and stop a command toggle sequence. Any characters in between the start and stop exclamation points are treated as command toggles. You can have as many command toggles as you like between the exclamation points. Valid command toggles are listed below. Command Toggles are valid with KvGetFmt() and KwGetFmt() only! Command Toggle Description ------- ----------- -........Decreases text attribute. Valid with KwGetFmt() only. +........Increases text attribute. Valid with KwGetFmt() only. C........Toggles copying of quoted characters to receiving buffer. Default is off. E........Toggles Escape checking. When on, if [Esc] is pressed, the receiving buffer will be emptied and an error code will be returned. Default is on. L........Toggles lower-case conversion. When on, all input letters will be forced to lower-case. Default is off. M........Toggles mixed-case conversion. When on, input letters will be forced to upper-case for the first letter of each word and lower-case for the remaining letters. Default is off. P........Toggles password mode. When on, input characters will be echoed to the screen as spaces. This is useful for password fields. Default is off. R........Toggles Return checking. When off, if [Enter] is pressed, it will be ignored. This is useful for forcing the user's input. Default is on. U........Toggles upper-case conversion. When on, input letters will be forced to upper-case. Default is off. Examples: KvGetFmt(name,"'Enter name: ' !UR! XXXXX !R! XXXXXXXXXX"); Prompts for name, inputs string from keyboard converting characters to uppercase as it goes, allows up to 15 alphanumeric characters as input. The return key is disabled until at least 5 characters have been entered. Input characters will be copied to the receiving buffer, name, which must be large enough to hold all 16 characters - 15 for the input string, and one for the terminating '\0'. KwGetFmt(phone," 'Enter phone: '!RC! '(' ### ') ' ### '-' ####"); Prompts for a full phone number including area code, allows only digit characters and displays format punctuation as it goes. The entire field must be filled before return can be pressed. All of the characters except the prompt will be copied to the receiving buffer, phone. This buffer must be large enough to hold 15 characters - 10 for the phone number digits, 4 for the copied punctuation characters, and 1 for the terminating '\0'. EntFld( 1,16,date,"<01>#'/'<0123>#'/'<89>#",0,0,NULL,0); Defines an input field that will accept a MMDDYY date. Note the use of the inclusion set '<' and '>' characters to aid in allowing only valid numbers. The receiving buffer, date, must be at least 7 characters to hold the 6 date characters and the terminating '\0'. Page 34 TesSeRact CXL V5.5 Quick Reference Guide Appendix F - Movement and Editing Keys Field Editing Key Action ----------------- ------ LeftArrow..........cursor left RightArrow.........cursor right UpArrow............cursor up DownArrow..........cursor down Ctrl-LeftArrow.....word left Ctrl-RightArrow....word right Tab................field right Shift-Tab..........field left Enter..............process field Ctrl-Enter.........process all fields Decimal (.)........move to right side of decimal point Home...............beginning of field End................end of field line / end of field Ctrl-Home..........beginning of first field Ctrl-End...........end of last field Ins................toggle field insert mode Del................delete character at cursor BackSpace..........delete character left Ctrl-BackSpace.....delete word left Ctrl-R.............restore field to original contents Ctrl-T.............delete word right Ctrl-U.............delete to end of field Ctrl-Y.............delete to end of last field Esc................abort data entry (if Escape checking is on) Menu Movement Key Action ----------------- ------ LeftArrow..........moves selection bar to item left. RightArrow.........moves selection bar to item right. UpArrow............moves selection bar to item upwards. DownArrow..........moves selection bar to item downwards. If the current menu item has a pull-down menu attached, then it will be opened for processing. Enter..............selects the item that the selection bar is on. If selected item has a sub-menu attached, then processing of that menu will begin. Home...............moves selection bar to upper-leftmost item. End................moves selection bar to lower-rightmost item. Esc................if Escape checking is on, and your are in the root menu, pressing this cancels input and returns a -1. If inside a sub-menu, then you will just back up to the previous menu. TesSeRact CXL V5.5 Quick Reference Guide Page 35 Appendix G - Global Error Codes ERR_MEM......(-2)....Allocation failure ERR_ARG......(-1)....Argument failure ERR_NUL......0.......Auccessful return W_ESCPRESS...0x01....Escape Key Was Pressed W_ALLOCERR...0x02....Memory Allocation Error W_NOTFOUND...0x03....Record Not Found W_NOACTIVE...0x04....No Active Window W_INVCOORD...0x05....Invalid Coordinates W_INVFORMT...0x06....Invalid Format String W_NOINPDEF...0x07....No Input Fields Defined W_STRLONG....0x08....String Too Long For Window W_INVBTYPE...0x09....Invalid Border Type W_NOBORDER...0x0A....No Window Border W_NOHIDDEN...0x0B....No Hidden Windows W_NOTHIDD....0x0C....Window Is Not Hidden W_NOSELECT...0x0D....No Selectable Menu Items W_NOITMDEF...0x0E....No Menu Items Defined W_NOMNUEND...0x0F....No End Of Menu Specified W_NOMNUDEF...0x10....No Menu Defined W_NOMNUBEG...0x11....No Begin Of Menu Specified W_NOFRMDEF...0x12....No Form Defined W_NOFRMBEG...0x13....No Begin Of Form Specified W_NOHLPDEF...0x14....No Help Record Defined W_HLPSTKOV...0x15....Help Stack Overflow W_HLPSTKUN...0x16....Help Stack Underflow W_DOSERROR...0x17....DOS Error W_NOMATCH....0x18....No Files Matched Input Filespec W_INVTAGID...0x19....Invalid Tag Identifier W_INVPATH....0x1A....Path Invalid Or Not Found Page 36 TesSeRact CXL V5.5 Quick Reference Guide Appendix H - Name Changes for CXL 5.2 Users Macros have a trailing "M", Aliases have a trailing "A" Function Mapping Sorted by Header and New Name *** *** cvtcf()........cvtcf() cvtci().......cvtci() cvtfc()........cvtfc() cvtic().......cvtic() touplow()......touplow() *** *** _Delay().......delay_() _StdOut()....._stdoutch() _StdOutS().....-- _Timer()......timer() _WaitMs()......-- Beep() M......beep() M RandFile().....randfile() Sound().......sound_() SysDate()......sysdate() SysTime().....systime() TabNxt().......tabstop() TcxlInit()....-- TcxlTerm().....-- TcxlVer() M...cxlver() *** *** _ChgDir()......-- _ChgDrv().....-- _FndFst()......-- _FndNxt().....-- _GetDir()......-- _GetDrv().....-- _InpByt()......-- _InpWrd().....-- _IntDis()......-- _IntEna().....-- _OutByt()......-- _OutWrd().....-- *** *** EntDef().......winpbeg() EntFld()......winpdef() EntKey().......winpkey() EntSep()......winpwordsep() EntShow()......winpread() FldCur() M....winpfcurr() M FldFun().......winpfba() FldKey()......-- FldLoc().......winpffind() *** <_TCXLent.h> *** _FldDsp()......-- _FldDecL()....-- _FldDecR().....-- *** *** MK_FP() M......MK_FP() M MK_FPT() M....-- _FarCpy()......-- _CpyFar() A...-- _FarGet()......-- _GetFar() A...-- _FarPut()......-- _PutFar() A...-- *** *** FmtBack()......-- FmtChar().....cvaltype() FmtExcl()......-- FmtFlip().....-- FmtIncl()......-- FmtInit().....-- FmtPutF() M....-- *** *** _BioEqp()......-- BiosVer().....biosver() TesSeRact CXL V5.5 Quick Reference Guide Page 37 ClockCal().....clockcal() HdwC40() M....-- HdwC80() M.....-- HdwDrv() M....numflop() HdwFlg() M.....-- HdwGam() M....gameport() HdwM80() M.....-- HdwMdm() M....-- HdwMou() M.....-- MachId()......machid() HdwNdp() M.....mathchip() HdwPar() M....numpar() HdwSer() M.....numser() *** *** HlpAdd().......whelppcat() HlpClr()......whelpclr() HlpCur() M.....whelpush() lpDef().......whelpdef() HlpDrop()......whelpopc() HlpOff()......whelpundef() M HlpPop().......whelpop() HlpPush().....whelpushc() HlpSet().......whelpcat() HlpShow().....whelpget() HlpWind()......whelpwin() *** *** KwGetCf()......wgetchf() KwGetCh().....wgetc() KwGetFmt().....winputsf() KwGetSn().....wgetns() KwGetSt()......wgets() KwGetYn().....wgetyn() KwScanf()......wscanf() KvGetCf().....getchf() KvGetCh()......-- KvGetFmt()....inputsf() KvGetSn()......getns() KvGetSt().....-- KvGetYn()......-- KvScanf().....-- KbndChg()......chgonkey() KbndClr().....-- KbndFre()......freonkey() KbndIdle() M..setkbloop() M KbndSet()......setonkey() KeyClear() M..clearkeys() M KeyEvent().....kbmhit() KeyGetc().....getxch() KeyPeek() M....-- KeyStat() M...kbstat() KeyTime()......waitkeyt() KeyWait() M...waitkey() KqueChk() M....-- KqueClr().....kbclear() KqueGet()......-- KquePut().....kbput() KqueStr()......kbputs() _KeySta().....-- _KeySet()......-- _KeyExt().....-- _KeyGet()......-- _KeyHit().....-- KcapOff() M....capsoff() KcapOn() M....capson() KextOff() M....-- KextOn() M....-- KinsOff() M....-- KinsOn() M....-- KnumOff() M....numoff() KnumOn() M....numon() KscnCod()......scancode() *** *** EMSalloc().....-- EMSfree().....-- EMSgetnam()....-- EMScount()....-- EMSpages().....-- EMSmap()......-- EMSquery().....-- EMSrest().....-- EMSsave()......-- EMSsetnam()...-- EMSstat()......-- UMBalloc()....-- UMBfree()......-- MemInit().....-- MemTerm() M....-- _A20_LD().....-- _A20_LE()......-- _A20chk().....-- _A20dis()......-- _A20ena().....-- HMAalloc().....-- HMAfree().....-- XMSalloc().....-- XMScopy().....-- XMSfree()......-- XMSavail()....-- XMSquery().....-- XMSlock().....-- XMSrealloc()...-- XMSunlock()...-- Page 38 TesSeRact CXL V5.5 Quick Reference Guide *** *** ItmCur() M.....wmenuicurr() M ItmDis()......wmenuidsab() ItmDsp().......wmenuiredisp() ItmEna()......wmenuienab() ItmFun().......wmenuiba() ItmGet()......wmenuigetxt() ItmKey().......-- ItmLoc()......wmenuifind() ItmNxt().......wmenuinext() ItmSet()......wmenuisetxt() ItmTxt().......wmenuitxt() MnuAct()......wmenubegc() MnuBeg().......wmenubeg() MnuCur() M....wmenumcurr() M MnuEnd().......wmenuend() MnuItm()......wmenuitem() MnuShow()......wmenuget() *** *** _MSget().......-- _MSpos()......-- _MSset().......-- _MSsho()......-- MSclear()......msbclear() MScurs()......mscursor() MSgoto().......msgotoxy() MShide()......mshidecur() MShome().......-- MSinit()......msinit() MSkeys().......-- MSlimit().....mshbounds() MSlimit()......msvbounds() MSmove()......msmotion() MSpop()........-- MSpress().....msbpress() MSpush().......mssupport() MSreles().....msbreles() MSshow() M.....msshowcur() MSspeed().....msspeed() MSstat().......msstatus() MSterm()......-- MSupdat()......mscondoff() *** *** _LPputC()......-- lcrlf() M.....lcrlf() M lprintc() M....lprintc() lprintf().....lprintf() lprintn()......-- lprintns()....lprintns() lprints()......lprints() lprintsb()....lprintsb() lprintsu().....lprintsu() scrndump()....scrndump() windump()......windump() *** *** _Select()......-- SelAttr().....wpickattr() SelFile()......wpickfile() SelStr()......wpickstr() SelTxt().......wselstr() *** *** strblank().....strblank() strbmatch()...strbmatch() strbtrim() M...strbtrim() M strchg()......strchg() strchksum()....strchksum() strcode().....strcode() strdel().......strdel() strdela().....strdela() strichg()......strichg() strichksum()..strichksum() stridel()......stridel() stridela()....stridela() striinc()......striinc() strinc()......strinc() strins().......strins() striocc().....striocc() strischg().....strischg() strisocc()....strisocc() strisrep().....strisrep() strleft() M...strleft() M strljust().....strljust() strltrim()....strltrim() strmatch().....strmatch() strmid()......strmid() strocc().......strocc() strright() M..strright() M strrjust().....strrjust() strrol()......strrol() strror().......strror() strrtrim() M..strrtrim() M strschg()......strschg() strsetsz()....strsetsz() strshl().......strshl() strshr()......strshr() strsocc()......strsocc() strsrep().....strsrep() TesSeRact CXL V5.5 Quick Reference Guide Page 39 strtrim()......strtrim() struplow()....struplow() *** *** VatrInv()......revsattr() VatrMap().....mapattr() VatrRev()......revattr() VatrSet().....setattr() VatrTxt()......attr2text() Vattrib() M...attrib() M Vclear().......cclrscrn() VclrBox() M...clrwin() M VclrEol()......clreol_() VclrScr().....clrscrn() VcurGet() M....-- VcurHid().....hidecur() VcurHid()......showcur() VcurPut() M...-- VcurSet()......lgcursor() VcurSet().....smcursor() VcurSiz() M....getcursz() VcurSiz() M...setcursz() VdrwBox() M....box_() VfilBox() M...fill_() Vgetw() M......readchat() Vgotoxy().....gotoxy_() VidInit()......videoinit() VidMode().....mode() VidMode()......vidmode() VidOfs() M....-- VidParm()......setvparam() VidTerm().....-- VidType()......vidtype() VlodBox().....disktowin() VlodScr()......disktoscrn() VposGet().....readcur() Vprintc()......printc() Vprints().....prints() VputSpa()......spc() Vputc().......putchat() Vputw() M......-- Vrestore()....srestore() VsavBox() M....wintodisk() Vsave().......ssave() VsavScr()......scrntodisk() Vscroll() M...-- VsetLin()......setlines() VcurGt_().....-- VcurPt_()......-- VcurSz_().....-- VdrwBx_()......-- VfilBx_().....-- Vgetw_().......-- Vputw_()......-- VsavBx_()......-- Vscrol_().....-- *** <_TCXLvid.h> *** _VgetN() M.....cgareadn() _VgetS() M....-- _VgetW() M.....cgardword() _VgetX() M....cgardbyte() _VputA() M.....-- _VputB() M....-- _VputC() M.....cgawrbyte() _VputN() M....cgawriten() _VputS() M.....cgawrstr() _VputW() M....cgawrword() _VputX() M.....-- _VgetN_().....-- _VgetS_()......-- _VgetW_().....-- _VgetX_()......-- _VputA_().....-- _VputB_()......-- _VputC_().....-- _VputN_()......-- _VputS_().....-- _VputW_()......-- _VputX_().....-- _VuvDis()......-- _VuvEna().....-- _VuvGet()......-- _VuvSet().....-- _VuvVal()......-- VgetDvb().....-- VisaEga()......-- VisaPs2().....-- VsetChr()......-- *** *** Wactiv().......wactiv() WcloseAll()...wcloseall() Werrmsg()......werrmsg() Werror()......-- Windowat().....windowat() WinLoc()......wfindrec() Wisactiv() M...wisactiv() M Wopen().......wopen() Wperror()......wperror() WpopUp()......-- Wrestore().....wrestore() Wsave().......wsave() WsetEsc() M....wsetesc() M WsetFil() M...wfillch() M WsetFun()......wsetfill() WsetTab() M...wtabwidth() M Page 40 TesSeRact CXL V5.5 Quick Reference Guide WsetTxt()......wtextattr() Wunhide().....wunhide() Wunlink()......wunlink() Wwprints()....wwprints() Wcenter()......-- Wclose()......wclose() Wcopy()........wcopy() Wdrag().......wdrag() Wdump()........wdump() Whandle().....whandle() Whide()........whide() Wmove().......wmove() Wsize()........wsize() Wslide()......wslide() WchgAtr()......wchgattr() WchkBox().....wchkbox() WchkCol()......wchkcol() WchkPos().....wchkcoord() WchkRow()......wchkrow() Wclear() M....wclear() M WclrEol()......wclreol() WclrEos().....wclreos() WclrWin()......wcclear() WfilBox().....wfill() WlinDel()......wdelline() WlinIns().....winsline() WscrBox()......wscrollbox() WscrWin().....wscroll() Wborder()......wborder() Wbprintc()....wbprintc() WdrwBox()......wbox() WdrwHor().....whline() WdrwVer()......wvline() Wmessage()....wmessage() Wtitle().......wtitle() Wshadoff()....wshadoff() Wshadow()......wshadow() WcurGet() M...wreadcur() WcurPut() M....-- Wgotoxy().....wgotoxy() Wpgotoxy().....wpgotoxy() WposGet() M...-- WdupChr()......wdupc() WdupStr().....wdups() WputCen()......-- WputFmt().....-- Wputc()........wputc() Wputf().......-- Wputns().......wputns() Wputs().......wputs() Wputrj().......wrjusts() Wputsw()......wputsw() WdupChrA().....-- WdupStrA()....-- WprtCen()......wcenters() WprtFmt().....wprintsf() Wprtc()........wprintc() Wprtf().......wprintf() Wprtns().......-- Wprtrj()......-- Wprts()........wprints() Wprtsw()......-- WcurGt_()......-- WcurPt_().....-- *** <_TCXLwin.h> *** _Wputl().......-- TesSeRact CXL V5.5 Quick Reference Guide Page 41 Function Mapping Sorted by New Name Beep() M.......beep() M HlpShow()......whelpget() BiosVer()......biosver() HlpWind()......whelpwin() ClockCal().....clockcal() HMAalloc().....-- cvtcf()........cvtcf() HMAfree()......-- cvtci()........cvtci() ItmCur() M.....wmenuicurr() M cvtfc()........cvtfc() ItmDis().......wmenuidsab() cvtic()........cvtic() ItmDsp().......wmenuiredisp() EMSalloc().....-- ItmEna().......wmenuienab() EMScount().....-- ItmFun().......wmenuiba() EMSfree()......-- ItmGet().......wmenuigetxt() EMSgetnam()....-- ItmKey().......-- EMSmap().......-- ItmLoc().......wmenuifind() EMSpages().....-- ItmNxt().......wmenuinext() EMSquery().....-- ItmSet().......wmenuisetxt() EMSrest()......-- ItmTxt().......wmenuitxt() EMSsave()......-- KbndChg()......chgonkey() EMSsetnam()....-- KbndClr()......-- EMSstat()......-- KbndFre()......freonkey() EntDef().......winpbeg() KbndIdle() M...setkbloop() M EntFld().......winpdef() KbndSet()......setonkey() EntKey().......winpkey() KcapOff() M....capsoff() EntSep().......winpwordsep() KcapOn() M.....capson() EntShow()......winpread() KextOff() M....-- FldCur() M.....winpfcurr() M KextOn() M.....-- FldFun().......winpfba() KeyClear() M...clearkeys() M FldKey().......-- KeyEvent().....kbmhit() FldLoc().......winpffind() KeyGetc()......getxch() FmtBack()......-- KeyPeek() M....-- FmtChar()......cvaltype() KeyStat() M....kbstat() FmtExcl()......-- KeyTime()......waitkeyt() FmtFlip()......-- KeyWait() M....waitkey() FmtIncl()......-- KinsOff() M....-- FmtInit()......-- KinsOn() M.....-- FmtPutF() M....-- KnumOff() M....numoff() HdwC40() M.....-- KnumOn() M.....numon() HdwC80() M.....-- KqueChk() M....-- HdwDrv() M.....numflop() KqueClr()......kbclear() HdwFlg() M.....-- KqueGet()......-- HdwGam() M.....gameport() KquePut()......kbput() HdwM80() M.....-- KqueStr()......kbputs() HdwMdm() M.....-- KscnCod()......scancode() HdwMou() M.....-- KvGetCf()......getchf() HdwNdp() M.....mathchip() KvGetCh()......-- HdwPar() M.....numpar() KvGetFmt().....inputsf() HdwSer() M.....numser() KvGetSn()......getns() HlpAdd().......whelppcat() KvGetSt()......-- HlpClr().......whelpclr() KvGetYn()......-- HlpCur() M.....whelpush() KvScanf()......-- HlpDef().......whelpdef() KwGetCf()......wgetchf() HlpDrop()......whelpopc() KwGetCh()......wgetc() HlpOff().......whelpundef() M KwGetFmt().....winputsf() HlpPop().......whelpop() KwGetSn()......wgetns() HlpPush()......whelpushc() KwGetSt()......wgets() HlpSet().......whelpcat() KwGetYn()......wgetyn() Page 42 TesSeRact CXL V5.5 Quick Reference Guide KwScanf()......wscanf() stridela().....stridela() lcrlf() M......lcrlf() M striinc()......striinc() lprintc() M....lprintc() strinc().......strinc() lprintf()......lprintf() strins().......strins() lprintn()......-- striocc()......striocc() lprintns().....lprintns() strischg().....strischg() lprints()......lprints() strisocc().....strisocc() lprintsb().....lprintsb() strisrep().....strisrep() lprintsu().....lprintsu() strleft() M....strleft() M MachId().......machid() strljust().....strljust() MemInit()......-- strltrim().....strltrim() MemTerm() M....-- strmatch().....strmatch() MK_FP() M......MK_FP() M strmid().......strmid() MK_FPT() M.....-- strocc().......strocc() MnuAct().......wmenubegc() strright() M...strright() M MnuBeg().......wmenubeg() strrjust().....strrjust() MnuCur() M.....wmenumcurr() M strrol().......strrol() MnuEnd().......wmenuend() strror().......strror() MnuItm().......wmenuitem() strrtrim() M...strrtrim() M MnuShow()......wmenuget() strschg()......strschg() MSclear()......msbclear() strsetsz().....strsetsz() MScurs().......mscursor() strshl().......strshl() MSgoto().......msgotoxy() strshr().......strshr() MShide().......mshidecur() strsocc()......strsocc() MShome().......-- strsrep()......strsrep() MSinit().......msinit() strtrim()......strtrim() MSkeys().......-- struplow().....struplow() MSlimit()......mshbounds() SysDate()......sysdate() MSlimit()......msvbounds() SysTime()......systime() MSmove().......msmotion() TabNxt().......tabstop() MSpop()........-- TcxlInit().....-- MSpress()......msbpress() TcxlTerm().....-- MSpush().......mssupport() TcxlVer() M....cxlver() MSreles()......msbreles() touplow()......touplow() MSshow() M.....msshowcur() UMBalloc().....-- MSspeed()......msspeed() UMBfree()......-- MSstat().......msstatus() VatrInv()......revsattr() MSterm().......-- VatrMap()......mapattr() MSupdat()......mscondoff() VatrRev()......revattr() RandFile().....randfile() VatrSet()......setattr() scrndump().....scrndump() VatrTxt()......attr2text() SelAttr()......wpickattr() Vattrib() M....attrib() M SelFile()......wpickfile() Vclear().......cclrscrn() SelStr().......wpickstr() VclrBox() M....clrwin() M SelTxt().......wselstr() VclrEol()......clreol_() Sound()........sound_() VclrScr()......clrscrn() strblank().....strblank() VcurGet() M....-- strbmatch()....strbmatch() VcurGt_()......-- strbtrim() M...strbtrim() M VcurHid()......hidecur() strchg().......strchg() VcurHid()......showcur() strchksum()....strchksum() VcurPt_()......-- strcode()......strcode() VcurPut() M....-- strdel().......strdel() VcurSet()......lgcursor() strdela()......strdela() VcurSet()......smcursor() strichg()......strichg() VcurSiz() M....setcursz() strichksum()...strichksum() VcurSiz() M....getcursz() stridel()......stridel() VcurSz_()......-- TesSeRact CXL V5.5 Quick Reference Guide Page 43 VdrwBox() M....box_() WdrwHor()......whline() VdrwBx_()......-- WdrwVer()......wvline() VfilBox() M....fill_() Wdump()........wdump() VfilBx_()......-- WdupChr()......wdupc() VgetDvb()......-- WdupChrA().....-- Vgetw() M......readchat() WdupStr()......wdups() Vgetw_().......-- WdupStrA().....-- Vgotoxy()......gotoxy_() Werrmsg()......werrmsg() VidInit()......videoinit() Werror().......-- VidMode()......mode() WfilBox()......wfill() VidMode()......vidmode() Wgotoxy()......wgotoxy() VidOfs() M.....-- Whandle()......whandle() VidParm()......setvparam() Whide()........whide() VidTerm()......-- Windowat().....windowat() VidType()......vidtype() windump()......windump() VisaEga()......-- WinLoc().......wfindrec() VisaPs2()......-- Wisactiv() M wisactiv() M VlodBox()......disktowin() WlinDel()......wdelline() VlodScr()......disktoscrn() WlinIns()......winsline() VposGet()......readcur() Wmessage().....wmessage() Vprintc()......printc() Wmove()........wmove() Vprints()......prints() Wopen()........wopen() Vputc()........putchat() Wperror()......wperror() VputSpa()......spc() Wpgotoxy().....wpgotoxy() Vputw() M......-- WpopUp().......-- Vputw_().......-- WposGet() M....-- Vrestore().....srestore() Wprtc()........wprintc() VsavBox() M....wintodisk() WprtCen()......wcenters() VsavBx_()......-- Wprtf()........wprintf() Vsave()........ssave() WprtFmt()......wprintsf() VsavScr()......scrntodisk() Wprtns().......-- Vscroll() M....-- Wprtrj().......-- Vscrol_()......-- Wprts()........wprints() VsetChr()......-- Wprtsw().......-- VsetLin()......setlines() Wputc()........wputc() Wactiv().......wactiv() WputCen()......-- Wborder()......wborder() Wputf()........-- Wbprintc().....wbprintc() WputFmt()......-- Wcenter()......-- Wputns().......wputns() WchgAtr()......wchgattr() Wputrj().......wrjusts() WchkBox()......wchkbox() Wputs()........wputs() WchkCol()......wchkcol() Wputsw().......wputsw() WchkPos()......wchkcoord() Wrestore().....wrestore() WchkRow()......wchkrow() Wsave()........wsave() Wclear() M.....wclear() M WscrBox()......wscrollbox() Wclose().......wclose() WscrWin()......wscroll() WcloseAll()....wcloseall() WsetEsc() M....wsetesc() M WclrEol()......wclreol() WsetFil() M....wfillch() M WclrEos()......wclreos() WsetFun()......wsetfill() WclrWin()......wcclear() WsetTab() M....wtabwidth() M Wcopy()........wcopy() WsetTxt()......wtextattr() WcurGet() M....wreadcur() Wshadoff().....wshadoff() WcurGt_()......-- Wshadow()......wshadow() WcurPt_()......-- Wsize()........wsize() WcurPut() M....-- Wslide().......wslide() Wdrag()........wdrag() Wtitle().......wtitle() WdrwBox()......wbox() Wunhide()......wunhide() Page 44 TesSeRact CXL V5.5 Quick Reference Guide Wunlink()......wunlink() _MSget().......-- Wwprints().....wwprints() _MSpos().......-- XMSalloc().....-- _MSset().......-- XMSavail().....-- _MSsho().......-- XMScopy()......-- _OutByt()......-- XMSfree()......-- _OutWrd()......-- XMSlock()......-- _PutFar() A....-- XMSquery().....-- _Select()......-- XMSrealloc()...-- _StdOut()......_stdoutch() XMSunlock()....-- _StdOutS().....-- _A20chk()......-- _Timer().......timer() _A20dis()......-- _VgetN() M.....cgareadn() _A20ena()......-- _VgetN_()......-- _A20_LD()......-- _VgetS() M.....-- _A20_LE()......-- _VgetS_()......-- _BioEqp()......-- _VgetW() M.....cgardword() _ChgDir()......-- _VgetW_()......-- _ChgDrv()......-- _VgetX() M.....cgardbyte() _CpyFar() A....-- _VgetX_()......-- _Delay().......delay_() _VputA() M.....-- _FarCpy()......-- _VputA_()......-- _FarGet()......-- _VputB() M.....-- _FarPut()......-- _VputB_()......-- _FldDecL().....-- _VputC() M.....cgawrbyte() _FldDecR().....-- _VputC_()......-- _FldDsp()......-- _VputN() M.....cgawriten() _FndFst()......-- _VputN_()......-- _FndNxt()......-- _VputS() M.....cgawrstr() _GetDir()......-- _VputS_()......-- _GetDrv()......-- _VputW() M.....cgawrword() _GetFar() A....-- _VputW_()......-- _InpByt()......-- _VputX() M.....-- _InpWrd()......-- _VputX_()......-- _IntDis()......-- _VuvDis()......-- _IntEna()......-- _VuvEna()......-- _KeyExt()......-- _VuvGet()......-- _KeyGet()......-- _VuvSet()......-- _KeyHit()......-- _VuvVal()......-- _KeySet()......-- _WaitMs()......-- _KeySta()......-- _Wputl().......-- _LPputC()......-- TesSeRact CXL V5.5 Quick Reference Guide Page 45 Function Mapping Sorted by Old Name _stdoutch()...._StdOut() lprintsb().....lprintsb() attr2text()....VatrTxt() lprintsu().....lprintsu() attrib() M.....Vattrib() M machid().......MachId() beep() M.......Beep() M mapattr()......VatrMap() biosver()......BiosVer() mathchip().....HdwNdp() M box_().........VdrwBox() M MK_FP() M......MK_FP() M capsoff()......KcapOff() M mode().........VidMode() capson().......KcapOn() M msbclear().....MSclear() cclrscrn().....Vclear() msbpress().....MSpress() cgardbyte()...._VgetX() M msbreles().....MSreles() cgardword()...._VgetW() M mscondoff()....MSupdat() cgareadn()....._VgetN() M mscursor().....MScurs() cgawrbyte()...._VputC() M msgotoxy().....MSgoto() cgawriten()...._VputN() M mshbounds()....MSlimit() cgawrstr()....._VputS() M mshidecur()....MShide() cgawrword()...._VputW() M msinit().......MSinit() chgonkey().....KbndChg() msmotion().....MSmove() clearkeys() M..KeyClear() M msshowcur()....MSshow() M clockcal().....ClockCal() msspeed()......MSspeed() clreol_()......VclrEol() msstatus().....MSstat() clrscrn()......VclrScr() mssupport()....MSpush() clrwin() M.....VclrBox() M msvbounds()....MSlimit() cvaltype().....FmtChar() numflop()......HdwDrv() M cvtcf()........cvtcf() numoff().......KnumOff() M cvtci()........cvtci() numon()........KnumOn() M cvtfc()........cvtfc() numpar().......HdwPar() M cvtic()........cvtic() numser().......HdwSer() M cxlver().......TcxlVer() M printc().......Vprintc() delay_()......._Delay() prints().......Vprints() disktoscrn()...VlodScr() putchat()......Vputc() disktowin()....VlodBox() randfile().....RandFile() fill_()........VfilBox() M readchat().....Vgetw() M freonkey().....KbndFre() readcur()......VcurGet() M gameport().....HdwGam() M readcur()......VposGet() getchf().......KvGetCf() revattr()......VatrRev() getcursz().....VcurSiz() M revsattr().....VatrInv() getns()........KvGetSn() scancode().....KscnCod() getxch().......KeyGetc() scrndump().....scrndump() gotoxy_()......Vgotoxy() scrntodisk()...VsavScr() hidecur()......VcurHid() setattr()......VatrSet() inputsf()......KvGetFmt() setcursz().....VcurSiz() M isactiv() M....Wisactiv() M setkbloop() M..KbndIdle() M w setlines().....VsetLin() kbclear()......KqueClr() setonkey().....KbndSet() kbmhit().......KeyEvent() setvparam()....VidParm() kbput()........KquePut() showcur()......VcurHid() kbputs().......KqueStr() smcursor().....VcurSet() kbstat().......KeyStat() M sound_().......Sound() lcrlf() M......lcrlf() M spc()..........VputSpa() lgcursor().....VcurSet() srestore().....Vrestore() lprintc()......lprintc() M ssave()........Vsave() lprintf()......lprintf() strblank().....strblank() lprintns().....lprintns() strbmatch()....strbmatch() lprints()......lprints() strbtrim() M...strbtrim() M Page 46 TesSeRact CXL V5.5 Quick Reference Guide strchg().......strchg() wclose().......Wclose() strchksum()....strchksum() wcloseall()....WcloseAll() strcode()......strcode() wclreol()......WclrEol() strdel().......strdel() wclreos()......WclrEos() strdela()......strdela() wcopy()........Wcopy() strichg()......strichg() wdelline().....WlinDel() strichksum()...strichksum() wdrag()........Wdrag() stridel()......stridel() wdump()........Wdump() stridela().....stridela() wdupc()........WdupChr() striinc()......striinc() wdups()........WdupStr() strinc().......strinc() werrmsg()......Werrmsg() strins().......strins() wfill()........WfilBox() striocc()......striocc() wfillch() M....WsetFil() M strischg().....strischg() wfindrec().....WinLoc() strisocc().....strisocc() wgetc()........KwGetCh() strisrep().....strisrep() wgetchf()......KwGetCf() strleft() M....strleft() M wgetns().......KwGetSn() strljust().....strljust() wgets()........KwGetSt() strltrim().....strltrim() wgetyn().......KwGetYn() strmatch().....strmatch() wgotoxy()......Wgotoxy() strmid().......strmid() whandle()......Whandle() strocc().......strocc() whelpcat().....HlpSet() strright() M...strright() M whelpclr().....HlpClr() strrjust().....strrjust() whelpdef().....HlpDef() strrol().......strrol() whelpget().....HlpShow() strror().......strror() whelpop()......HlpPop() strrtrim() M...strrtrim() M whelpopc().....HlpDrop() strschg()......strschg() whelppcat()....HlpAdd() strsetsz().....strsetsz() whelpundef() M.HlpOff() strshl().......strshl() whelpush().....HlpCur() M strshr().......strshr() whelpushc()....HlpPush() strsocc()......strsocc() whelpwin().....HlpWind() strsrep()......strsrep() whide()........Whide() strtrim()......strtrim() whline().......WdrwHor() struplow().....struplow() windowat().....Windowat() sysdate()......SysDate() windump()......windump() systime()......SysTime() winpbeg()......EntDef() tabstop()......TabNxt() winpdef()......EntFld() timer()........_Timer() winpfba()......FldFun() touplow()......touplow() winpfcurr() M..FldCur() M videoinit()....VidInit() winpffind()....FldLoc() vidmode()......VidMode() winpkey()......EntKey() vidtype()......VidType() winpread().....EntShow() wactiv().......Wactiv() winputsf().....KwGetFmt() waitkey()......KeyWait() M winpwordsep()..EntSep() waitkeyt().....KeyTime() winsline().....WlinIns() wborder()......Wborder() wintodisk()....VsavBox() M wbox().........WdrwBox() wmenubeg().....MnuBeg() wbprintc().....Wbprintc() wmenubegc()....MnuAct() wcclear()......WclrWin() wmenuend().....MnuEnd() wcenters().....WprtCen() wmenuget().....MnuShow() wchgattr().....WchgAtr() wmenuiba().....ItmFun() wchkbox()......WchkBox() wmenuicurr() M.ItmCur() M wchkcol()......WchkCol() wmenuidsab()...ItmDis() wchkcoord()....WchkPos() wmenuienab()...ItmEna() wchkrow()......WchkRow() wmenuifind()...ItmLoc() wclear() M.....Wclear() M wmenuigetxt()..ItmGet() TesSeRact CXL V5.5 Quick Reference Guide Page 47 wmenuinext()...ItmNxt() --............._OutByt() wmenuiredisp().ItmDsp() --............._OutWrd() wmenuisetxt()..ItmSet() --.............FldKey() wmenuitem()....MnuItm() --............._FldDsp() wmenuitxt()....ItmTxt() --............._FldDecL() wmenumcurr() M.MnuCur() M --............._FldDecR() wmessage().....Wmessage() --.............MK_FPT() M wmove()........Wmove() --............._FarCpy() wopen()........Wopen() --............._CpyFar() A wperror()......Wperror() --............._FarGet() wpgotoxy().....Wpgotoxy() --............._GetFar() A wpickattr()....SelAttr() --............._FarPut() wpickfile()....SelFile() --............._PutFar() A wpickstr().....SelStr() --.............FmtBack() wprintc()......Wprtc() --.............FmtExcl() wprintf()......Wprtf() --.............FmtFlip() wprints()......Wprts() --.............FmtIncl() wprintsf().....WprtFmt() --.............FmtInit() wputc()........Wputc() --.............FmtPutF() M wputns().......Wputns() --............._BioEqp() wputs()........Wputs() --.............HdwC40() M wputsw().......Wputsw() --.............HdwC80() M wreadcur().....WcurGet() M --.............HdwFlg() M wrestore().....Wrestore() --.............HdwM80() M wrjusts()......Wputrj() --.............HdwMdm() M wsave()........Wsave() --.............HdwMou() M wscanf().......KwScanf() --.............KvGetCh() wscroll()......WscrWin() --.............KvGetSt() wscrollbox()...WscrBox() --.............KvGetYn() wselstr()......SelTxt() --.............KvScanf() wsetesc() M....WsetEsc() M --.............KbndClr() wsetfill().....WsetFun() --.............KeyPeek() M wshadoff().....Wshadoff() --.............KqueChk() M wshadow()......Wshadow() --.............KqueGet() wsize()........Wsize() --............._KeySta() wslide().......Wslide() --............._KeySet() wtabwidth() M..WsetTab() M --............._KeyExt() wtextattr()....WsetTxt() --............._KeyGet() wtitle().......Wtitle() --............._KeyHit() wunhide()......Wunhide() --.............KextOff() M wunlink()......Wunlink() --.............KextOn() M wvline().......WdrwVer() --.............KinsOff() M wwprints().....Wwprints() --.............KinsOn() M --............._StdOutS() --.............EMSalloc() --............._WaitMs() --.............EMSfree() --.............TcxlInit() --.............EMSgetnam() --.............TcxlTerm() --.............EMScount() --............._ChgDir() --.............EMSpages() --............._ChgDrv() --.............EMSmap() --............._FndFst() --.............EMSquery() --............._FndNxt() --.............EMSrest() --............._GetDir() --.............EMSsave() --............._GetDrv() --.............EMSsetnam() --............._InpByt() --.............EMSstat() --............._InpWrd() --.............UMBalloc() --............._IntDis() --.............UMBfree() --............._IntEna() --.............MemInit() Page 48 TesSeRact CXL V5.5 Quick Reference Guide --.............MemTerm() M --............._VputX_() --............._A20_LD() --............._VuvDis() --............._A20_LE() --............._VuvEna() --............._A20chk() --............._VuvGet() --............._A20dis() --............._VuvSet() --............._A20ena() --............._VuvVal() --.............HMAalloc() --.............VgetDvb() --.............HMAfree() --.............VisaEga() --.............XMSalloc() --.............VisaPs2() --.............XMScopy() --.............VsetChr() --.............XMSfree() --.............Werror() --.............XMSavail() --.............WpopUp() --.............XMSquery() --.............Wcenter() --.............XMSlock() --.............WcurPut() M --.............XMSrealloc() --.............WposGet() M --.............XMSunlock() --.............WputCen() --.............ItmKey() --.............WputFmt() --............._MSget() --.............Wputf() --............._MSpos() --.............WdupChrA() --............._MSset() --.............WdupStrA() --............._MSsho() --.............Wprtns() --.............MShome() --.............Wprtrj() --.............MSkeys() --.............Wprtsw() --.............MSpop() --.............WcurGt_() --.............MSterm() --.............WcurPt_() --............._LPputC() --............._Wputl() --.............lprintn() --............._Select() --.............VcurPut() M --.............VidOfs() M --.............VidTerm() --.............Vputw() M --.............Vscroll() M --.............VcurGet() --.............VcurGt_() --.............VcurPt_() --.............VcurSz_() --.............VdrwBx_() --.............VfilBx_() --.............Vgetw_() --.............Vputw_() --.............VsavBx_() --.............Vscrol_() --............._VgetS() M --............._VputA() M --............._VputB() M --............._VputX() M --............._VgetN_() --............._VgetS_() --............._VgetW_() --............._VgetX_() --............._VputA_() --............._VputB_() --............._VputC_() --............._VputN_() --............._VputS_() --............._VputW_() TesSeRact CXL V5.5 Quick Reference Guide Page 49